package com.itheima.homework.test3;

import java.util.ArrayList;
import java.util.stream.Stream;

public class Demo3 {
    public static void main(String[] args) {
        ArrayList<String> team1 = new ArrayList<>();
        team1.add("陈玄风");
        team1.add("梅超风");
        team1.add("风清扬");
        team1.add("解风");
        team1.add("风波恶");
        team1.add("陆乘风");
        team1.add("曲灵风");
        team1.add("武眠风");
        team1.add("冯默风");
        team1.add("陆小风");

// 队伍2
        ArrayList<String> team2 = new ArrayList<>();
        team2.add("宋远桥");
        team2.add("俞莲舟");
        team2.add("俞岱岩");
        team2.add("张松溪");
        team2.add("张翠山");
        team2.add("殷梨亭");
        team2.add("莫声谷");
        //1、从第一个队伍中筛选出名字为3个字并且以“风”字结尾的人，筛选之后，只保留前6个。
        Stream<String> stream = team1.stream();
        stream.filter(s -> s.endsWith("风")).limit(6).forEach(s -> System.out.println(s));
        // 2、从第二个队伍中筛选出姓张的人员，筛选之后，不要第一个。
        System.out.println("----------------------");
        Stream<String> stream1 = team2.stream();
        stream1.filter(s -> s.startsWith("张")).skip(team2.size()-(team2.size()-1)).forEach(s -> System.out.println(s));
        // 3、将两个筛选结果合并为一个队伍。
        Stream.concat(stream, stream1).forEach(System.out::println);
        // 4、将结果队伍中的字符串姓名作为Student对象的属性，创建Student对象，将集合中的元素都更改为Student类型。

        // 5、打印结果队伍的Student对象信息
        //学生类
        class Student {
            private String name;
            public Student(String name) {
                this.name = name;
            }
            @Override
            public String toString() {
                return "Student{" +
                        "name='" + name + '\'' +
                        '}';
            }
        }
    }
}
